<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 相向双指针 时间：O(n) 空间O(1)，注意这题要求常量为1的空间，题号167
        function twoSum(numbers, target) {
            // 左指针从0开始，右指针从结尾开始
            let left = 0;
            let right = numbers.length - 1
            // 注意left是小于right
            while (left < right) {
                // 如果相加结果小于target，则left指针要++，否则right指针要--，最终得到结果
                if (numbers[left]  + numbers[right] < target) {
                    left++
                } else if (numbers[left] + numbers[right] > target) {
                    right--
                } else {
                    // 注意题目要求是索引从1开始
                    return [left + 1, right + 1]
                }
            }
        }
        console.log(twoSum([2, 3, 4], 6));
    </script>
</body>

</html>